package com.framework.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.framework.entity.flow.FlowTask;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 功能描述: 提现流水
 *
 * @author ck
 * @date 2018/9/6 13:54
 */
public interface FlowTaskDao extends BaseMapper<FlowTask> {
	/**
	 * 查询列表
	 * @param flowTask 对象
	 * @param pageNo 分页码
	 * @return
	 */
	List<FlowTask> queryFlowTaskList(@Param("ex") FlowTask flowTask, @Param("pageNo") Integer pageNo);

	/**
	 * 修改订单状态
	 * @param takeNo
	 * @param state
	 * @param explains
	 */
	void updateStateByNo(@Param("takeNo") String takeNo, @Param("taskState") String state, @Param("explains") String explains);


	/**
	 * 分页+条件查询列表 后台
	 * @param params
	 * @return
	 */
	List<Map<String,Object>> queryFlowTaskListForAdmin(Map<String,Object> params);

	/**
	 * 条件查询数量 后台
	 * @param params
	 * @return
	 */
	Integer queryFlowTaskCountForAdmin(Map<String,Object> params);

	/**
	 * 本月提现总额
	 * @return
	 * @param sign success:成功 fail 失败
	 * @param time 时间限制 curmonth :本月 curweek :本周 yesterday 昨日
	 */
	BigDecimal queryTotalTake(@Param("sign") String sign,@Param("time") String time,@Param("deptId")Long deptId);


	/**
	 *	分页查询个人的提现明细
	 * @param agentId
	 * @param start
	 * @return
	 */
    List<FlowTask> queryTakePageByAgentId(@Param("agentId") Long agentId,@Param("start") Integer start);

}
